.version 49 0 
.class public super com/liquid_technologies/ltxmllib18/data/ElementInfoAllClsMnd 
.super com/liquid_technologies/ltxmllib18/ElementInfo 
.field public AttributeClassElementType Lcom/liquid_technologies/ltxmllib18/XmlObjectBase$XmlElementType; 
.field public ClsType Ljava/lang/Class; .fieldattributes 
    .signature Ljava/lang/Class<+Lcom/liquid_technologies/ltxmllib18/XmlObjectBase;>; 
.end fieldattributes 
.field public DoesClassContainMandatoryElements Z 

.method public <init> : (Ljava/lang/String;Ljava/lang/String;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Lcom/liquid_technologies/ltxmllib18/XmlObjectBase$XmlElementType;Ljava/lang/Class;Z)V 
    .code stack 5 locals 8 
L0:     aload_0 
L1:     aload_1 
L2:     aload_2 
L3:     aload_3 
L4:     aload 4 
L6:     invokespecial Method com/liquid_technologies/ltxmllib18/ElementInfo <init> (Ljava/lang/String;Ljava/lang/String;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;)V 
L9:     aload_0 
L10:    aload 5 
L12:    putfield Field com/liquid_technologies/ltxmllib18/data/ElementInfoAllClsMnd AttributeClassElementType Lcom/liquid_technologies/ltxmllib18/XmlObjectBase$XmlElementType; 
L15:    aload_0 
L16:    iload 7 
L18:    putfield Field com/liquid_technologies/ltxmllib18/data/ElementInfoAllClsMnd DoesClassContainMandatoryElements Z 
L21:    aload_0 
L22:    aload 6 
L24:    putfield Field com/liquid_technologies/ltxmllib18/data/ElementInfoAllClsMnd ClsType Ljava/lang/Class; 
L27:    return 
L28:    
    .end code 
    .signature (Ljava/lang/String;Ljava/lang/String;Ljava/lang/reflect/Method;Ljava/lang/reflect/Method;Lcom/liquid_technologies/ltxmllib18/XmlObjectBase$XmlElementType;Ljava/lang/Class<+Lcom/liquid_technologies/ltxmllib18/XmlObjectBase;>;Z)V 
.end method 

.method protected elementToXml : (Lcom/liquid_technologies/ltxmllib18/SerializationContext;Lcom/liquid_technologies/ltxmllib18/XmlObjectBase;Lcom/liquid_technologies/ltxmllib18/XmlWriter;)Z 
    .code stack 5 locals 4 
L0:     aload_0 
L1:     aload_1 
L2:     aload_2 
L3:     aload_3 
L4:     iconst_0 
L5:     invokevirtual Method com/liquid_technologies/ltxmllib18/data/ElementInfoAllClsMnd elementToXmlCls (Lcom/liquid_technologies/ltxmllib18/SerializationContext;Lcom/liquid_technologies/ltxmllib18/XmlObjectBase;Lcom/liquid_technologies/ltxmllib18/XmlWriter;Z)Z 
L8:     ifne L43 
L11:    new com/liquid_technologies/ltxmllib18/exceptions/LtInvalidParamException 
L14:    dup 
L15:    new java/lang/StringBuilder 
L18:    dup 
L19:    ldc 'The Property [' 
L21:    invokespecial Method java/lang/StringBuilder <init> (Ljava/lang/String;)V 
L24:    aload_0 
L25:    getfield Field com/liquid_technologies/ltxmllib18/data/ElementInfoAllClsMnd ElementName Ljava/lang/String; 
L28:    invokevirtual Method java/lang/StringBuilder append (Ljava/lang/String;)Ljava/lang/StringBuilder; 
L31:    ldc '] is mandatory, it may not be null' 
L33:    invokevirtual Method java/lang/StringBuilder append (Ljava/lang/String;)Ljava/lang/StringBuilder; 
L36:    invokevirtual Method java/lang/StringBuilder toString ()Ljava/lang/String; 
L39:    invokespecial Method com/liquid_technologies/ltxmllib18/exceptions/LtInvalidParamException <init> (Ljava/lang/String;)V 
L42:    athrow 
L43:    iconst_1 
L44:    ireturn 
L45:    
    .end code 
    .exceptions java/lang/Exception 
.end method 

.method protected elementFromXml : [u59] 
    .code stack 5 locals 7 
L0:     iconst_0 
L1:     istore 5 
L3:     aload_0 
L4:     getfield Field com/liquid_technologies/ltxmllib18/data/ElementInfoAllClsMnd AttributeClassElementType Lcom/liquid_technologies/ltxmllib18/XmlObjectBase$XmlElementType; 
L7:     getstatic Field com/liquid_technologies/ltxmllib18/XmlObjectBase$XmlElementType ELEMENT Lcom/liquid_technologies/ltxmllib18/XmlObjectBase$XmlElementType; 
L10:    if_acmpne L59 
L13:    aload_0 
L14:    aload_1 
L15:    aload 4 
L17:    invokevirtual Method com/liquid_technologies/ltxmllib18/data/ElementInfoAllClsMnd isThisElement (Lcom/liquid_technologies/ltxmllib18/SerializationContext;Lcom/liquid_technologies/ltxmllib18/dom/XmlElement;)Z 
L20:    ifeq L90 
L23:    aload_0 
L24:    aload_2 
L25:    invokevirtual Method com/liquid_technologies/ltxmllib18/data/ElementInfoAllClsMnd InvokePropertyGet (Ljava/lang/Object;)Ljava/lang/Object; 
L28:    checkcast com/liquid_technologies/ltxmllib18/XmlObjectBase 
L31:    dup 
L32:    astore_2 
L33:    aload 4 
L35:    aload 4 
L37:    invokevirtual Method com/liquid_technologies/ltxmllib18/dom/XmlElement getFirstChildElement ()Lcom/liquid_technologies/ltxmllib18/dom/XmlElement; 
L40:    aload_1 
L41:    iconst_0 
L42:    invokestatic Method com/liquid_technologies/ltxmllib18/data/ElementInfoAllClsMnd fromXml (Lcom/liquid_technologies/ltxmllib18/XmlObjectBase;Lcom/liquid_technologies/ltxmllib18/dom/XmlElement;Lcom/liquid_technologies/ltxmllib18/dom/XmlElement;Lcom/liquid_technologies/ltxmllib18/SerializationContext;Z)Lcom/liquid_technologies/ltxmllib18/dom/XmlElement; 
L45:    pop 
L46:    aload 4 
L48:    invokevirtual Method com/liquid_technologies/ltxmllib18/dom/XmlElement getNextSiblingElement ()Lcom/liquid_technologies/ltxmllib18/dom/XmlElement; 
L51:    astore 4 
L53:    iconst_1 
L54:    istore 5 
L56:    goto L90 
L59:    aload_0 
L60:    aload_2 
L61:    invokevirtual Method [c9] InvokePropertyGet (Ljava/lang/Object;)Ljava/lang/Object; 
L64:    checkcast com/liquid_technologies/ltxmllib18/XmlObjectBase 
L67:    dup 
L68:    astore_2 
L69:    aload_3 
L70:    aload 4 
L72:    aload_1 
L73:    iconst_0 
L74:    invokestatic Method [c9] fromXml (Lcom/liquid_technologies/ltxmllib18/XmlObjectBase;Lcom/liquid_technologies/ltxmllib18/dom/XmlElement;Lcom/liquid_technologies/ltxmllib18/dom/XmlElement;Lcom/liquid_technologies/ltxmllib18/SerializationContext;Z)Lcom/liquid_technologies/ltxmllib18/dom/XmlElement; 
L77:    astore_1 
L78:    aload 4 
L80:    aload_1 
L81:    if_acmpeq L87 
L84:    iconst_1 
L85:    istore 5 
L87:    aload_1 
L88:    astore 4 
L90:    new com/liquid_technologies/ltxmllib18/XmlReturn 
L93:    dup 
L94:    aload 4 
L96:    iload 5 
L98:    invokespecial Method com/liquid_technologies/ltxmllib18/XmlReturn <init> (Lcom/liquid_technologies/ltxmllib18/dom/XmlElement;Z)V 
L101:   areturn 
L102:   
    .end code 
    .exceptions java/lang/Exception 
.end method 

.method protected validate : (Lcom/liquid_technologies/ltxmllib18/SerializationContext;Lcom/liquid_technologies/ltxmllib18/XmlObjectBase;ZZ)Z 
    .code stack 5 locals 5 
L0:     iload_3 
L1:     ifne L61 
L4:     iload 4 
L6:     ifeq L61 
L9:     aload_0 
L10:    getfield Field [c9] AttributeClassElementType Lcom/liquid_technologies/ltxmllib18/XmlObjectBase$XmlElementType; 
L13:    getstatic Field com/liquid_technologies/ltxmllib18/XmlObjectBase$XmlElementType PSEUDO_ELEMENT Lcom/liquid_technologies/ltxmllib18/XmlObjectBase$XmlElementType; 
L16:    if_acmpne L26 
L19:    aload_0 
L20:    getfield Field [c9] DoesClassContainMandatoryElements Z 
L23:    ifeq L59 
L26:    new com/liquid_technologies/ltxmllib18/exceptions/LtValidationException 
L29:    dup 
L30:    new java/lang/StringBuilder 
L33:    dup 
L34:    ldc 'Failed to find the mandatory element [' 
L36:    invokespecial Method java/lang/StringBuilder <init> (Ljava/lang/String;)V 
L39:    aload_0 
L40:    getfield Field [c9] ElementName Ljava/lang/String; 
L43:    invokevirtual Method java/lang/StringBuilder append (Ljava/lang/String;)Ljava/lang/StringBuilder; 
L46:    ldc ']' 
L48:    invokevirtual Method java/lang/StringBuilder append (Ljava/lang/String;)Ljava/lang/StringBuilder; 
L51:    invokevirtual Method java/lang/StringBuilder toString ()Ljava/lang/String; 
L54:    aconst_null 
L55:    invokespecial Method com/liquid_technologies/ltxmllib18/exceptions/LtValidationException <init> (Ljava/lang/String;Ljava/lang/String;)V 
L58:    athrow 
L59:    iconst_1 
L60:    ireturn 
L61:    iload_3 
L62:    ireturn 
L63:    
    .end code 
    .exceptions java/lang/Exception 
.end method 

.method protected pseudoChildAttributeToXml : (Lcom/liquid_technologies/ltxmllib18/SerializationContext;Lcom/liquid_technologies/ltxmllib18/XmlObjectBase;Lcom/liquid_technologies/ltxmllib18/XmlWriter;)V 
    .code stack 4 locals 4 
L0:     aload_0 
L1:     getfield Field [c9] AttributeClassElementType Lcom/liquid_technologies/ltxmllib18/XmlObjectBase$XmlElementType; 
L4:     getstatic Field com/liquid_technologies/ltxmllib18/XmlObjectBase$XmlElementType PSEUDO_ELEMENT Lcom/liquid_technologies/ltxmllib18/XmlObjectBase$XmlElementType; 
L7:     if_acmpne L30 
L10:    aload_0 
L11:    aload_2 
L12:    invokevirtual Method [c9] InvokePropertyGet (Ljava/lang/Object;)Ljava/lang/Object; 
L15:    checkcast com/liquid_technologies/ltxmllib18/XmlObjectBase 
L18:    dup 
L19:    astore_2 
L20:    ifnull L30 
L23:    aload_0 
L24:    aload_2 
L25:    aload_3 
L26:    aload_1 
L27:    invokevirtual Method [c9] attributesToXml (Lcom/liquid_technologies/ltxmllib18/XmlObjectBase;Lcom/liquid_technologies/ltxmllib18/XmlWriter;Lcom/liquid_technologies/ltxmllib18/SerializationContext;)V 
L30:    return 
L31:    
    .end code 
    .exceptions java/lang/Exception 
.end method 
.innerclasses 
    com/liquid_technologies/ltxmllib18/XmlObjectBase$XmlElementType com/liquid_technologies/ltxmllib18/XmlObjectBase XmlElementType public static final enum 
.end innerclasses 
.const [c9] = Class [u100] 
.const [u59] = Utf8 (Lcom/liquid_technologies/ltxmllib18/SerializationContext;Lcom/liquid_technologies/ltxmllib18/XmlObjectBase;Lcom/liquid_technologies/ltxmllib18/dom/XmlElement;Lcom/liquid_technologies/ltxmllib18/dom/XmlElement;Ljava/lang/String;Lcom/liquid_technologies/ltxmllib18/XmlObjectBase$XmlElementType;)Lcom/liquid_technologies/ltxmllib18/XmlReturn; 
.const [u100] = Utf8 com/liquid_technologies/ltxmllib18/data/ElementInfoAllClsMnd 
.end class 
